{% extends '::base.html.twig' %}
{% block title %} Homologar Petición de Homologación {% endblock %}

{% block greensectiontitle %}Petición de Homologación{% endblock %}

{% block greensectionbody %}
<form id="homologarForm" action="{{ path('peticionhomologacion_updateHomologar', { 'id': entity.id }) }}" method="post" {{ form_enctype(homologar_form) }}>
            {{ form_errors(homologar_form) }}
        
        <div>
            {{ form_label(homologar_form.numeroOficio,'Numero de Oficio') }} {{ form_widget(homologar_form.numeroOficio) }}
            <br/><br/>
            {{ form_label(homologar_form.estudiante.cedula,'Cedula') }} {{ form_widget(homologar_form.estudiante.cedula) }}
            <br/>
            {{ form_label(homologar_form.estudiante.pasaporte,'Pasaporte') }} {{ form_widget(homologar_form.estudiante.pasaporte) }}
            <br/>
            {{ form_label(homologar_form.estudiante.nombre,'Nombre') }} {{ form_widget(homologar_form.estudiante.nombre) }}
            <br/>
            {{ form_label(homologar_form.estudiante.apellido,'Apellido') }} {{ form_widget(homologar_form.estudiante.apellido) }}
            <br/>
            {{ form_label(homologar_form.carrera,'Carrera Origen') }}  
            {{ form_widget(homologar_form.carrera) }} {{ form_widget(homologar_form.carreraOrigen) }}
            <br/><br/>
            {{ form_label(homologar_form.mallaOrigen,'Malla Origen') }} {{ form_widget(homologar_form.mallaOrigen) }}
            <br/><br/>
            {{ form_label(homologar_form.carreraDestino,'Carrera Destino') }} {{ form_widget(homologar_form.carreraDestino) }}
            <br/><br/>
            {{ form_label(homologar_form.mallaDestino,'Malla Destino') }} {{ form_widget(homologar_form.mallaDestino) }}
            <br/><br/>
            {{ form_label(homologar_form.tipoEscala,'Tipo de Escala') }} {{ form_widget(homologar_form.tipoEscala) }}
            <br/><br/>
            {{ form_label(homologar_form.escalaMinima,'Escala Mìnima') }} {{ form_widget(homologar_form.escalaMinima) }}
            <br/><br/>
            {{ form_label(homologar_form.escalaMaxima,'Escala Màxima') }} {{ form_widget(homologar_form.escalaMaxima) }}
            <br/><br/>
            {{ form_label(homologar_form.numeroModulo,'Numero de Modulo') }} {{ form_widget(homologar_form.numeroModulo) }}
            <br/><br/>
        <br/>
       </div>

    {% macro prototype(registroHomologacion) %}
    <tr >
        <td class="center">{{ form_widget(registroHomologacion.unidadOrigen.modulo,  { 'attr': { 'size': '1' }} ) }}</td>
        <td>{{ form_widget(registroHomologacion.unidadOrigen.nombre,  { 'attr': { 'size': '10' }}) }}</td>
        <td>{{ form_widget(registroHomologacion.unidadOrigen.numeroHoras,  { 'attr': { 'size': '2' }}) }}</td>
        <td>{{ form_widget(registroHomologacion.unidadOrigen.numeroCreditos,  { 'attr': { 'size': '2' }}) }}</td>
        <td>{{ form_widget(registroHomologacion.calificacion,  { 'attr': { 'size': '2' }}) }}</td>
        <td>{{ form_widget(registroHomologacion.tema,  { 'attr': { 'size': '5' }}) }}</td>
        <td>{{ form_widget(registroHomologacion.observacion,  { 'attr': { 'size': '8' }}) }}</td>
    </tr>
    
    {% endmacro %}  
    
    <div id="records_table" class="greenTableMargin">
    {{ form_errors(homologar_form) }}
    <table id="registros-table" padding="0" margin="0"  idCarrera = "{{ entity.carrera.id }}" >
        <thead>
            <tr>
                <th colspan="8">
                </th>
            </tr>
            <tr>
                <th title="Modulo o Ciclo de la Carrera Origen">Nivel</th>
                <th title="Materia o Unidad">Materia</th>
                <th title="Horas de la Materia Origen">Horas</th>
                <th title="Creditos de la Materia Origen">Creditos</th>
                <th title="Calificacion de la Materia Origen">Calificacion</th>
                <th title="Contenidos o Temas adiconales">Contenidos</th>
                <th>Observaciones</th>
            </tr>
             </thead>
        <tbody id="registrosHomologacion-table-body"
               nivel-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').unidadOrigen.modulo, { 'attr': {'value': 'modulo_value', 'size': '1'} }) | e }}"     
               materia-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').unidadOrigen.nombre, { 'attr': {'value': 'nombre_value', 'size': '10'} }) | e }}" 
               horas-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').unidadOrigen.numeroHoras, { 'attr': {'value': 'numeroHoras_value', 'size': '2'} }) | e }}" 
               creditos-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').unidadOrigen.numeroCreditos, { 'attr': {'value': 'numeroCreditos_value', 'size': '2'} }) | e }}"
               calificacion-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').calificacion, { 'attr': {'size': '2'} }) | e }}"
               tema-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').tema, { 'attr': {'size': '5'} }) | e }}"
               observacion-data-prototype="{{ form_widget(homologar_form.registrosHomologacion.get('prototype').observacion, { 'attr': {'size': '8'} }) | e }}">
            {# iterate over each existing carrera and render its field: codigo, nombre, universidad #}
            {% for registroHomologacion in homologar_form.registrosHomologacion %}
                {{_self.prototype(registroHomologacion)}}
            {% endfor %}
        </tbody>
    </table>
    </div>
    
    <div id="controls">
        {% if entity.finalizado is null %}
            <a id="saveButton" href="#">Guardar</a>
            {% if entity.guardada is null %}
                <a disabled="true" class="disabled" style="background:url(/img/disabled_button_background.gif) repeat-x; margin-left:5px;"  href="{{ path('peticionhomologacion_procesarHomologacion', {'id': entity.id}) }}" >Homologar</a>
            {% else %}
                <a href="{{ path('peticionhomologacion_procesarHomologacion', {'id': entity.id}) }}" >Homologar</a> 
            {% endif %}
        {% else %}
            <a href="{{ path('pdf', {'id': entity.id}) }}">Imprimir</a>
        {% endif %}
        <a href="{{ path('peticionhomologacion') }}">Cancelar</a>
    </div>
   {#{ form_rest(homologar_form) }#}
</form>     
{% endblock %}   
       
      
{% block javascripts %}
<script type="text/javascript">  
    
    
    function crearRegistroHomologacion(row, registrosCount) {
       
     
        var registrosTableBody = jQuery('#registrosHomologacion-table-body');
        var nivelPrototype = registrosTableBody.attr('nivel-data-prototype');
        var materiaPrototype = registrosTableBody.attr('materia-data-prototype');
        var horasPrototype = registrosTableBody.attr('horas-data-prototype');
        var creditosPrototype = registrosTableBody.attr('creditos-data-prototype');
        var calificacionPrototype = registrosTableBody.attr('calificacion-data-prototype');
        var temaPrototype = registrosTableBody.attr('tema-data-prototype');
        var observacionPrototype = registrosTableBody.attr('observacion-data-prototype');

        // sustituye el "__name__" usado en el id y name del prototipo 
        
       
        nivelWidget = nivelPrototype.replace(/\$\$name\$\$/g, registrosCount);  
        nivelWidget = nivelWidget.replace('modulo_value', row.modulo);  
        materiaWidget = materiaPrototype.replace(/\$\$name\$\$/g, registrosCount);  
        materiaWidget = materiaWidget.replace('nombre_value', row.nombre);  
        horasWidget = horasPrototype.replace(/\$\$name\$\$/g, registrosCount);  
        horasWidget = horasWidget.replace('numeroHoras_value', row.numeroHoras); 
        creditosWidget = creditosPrototype.replace(/\$\$name\$\$/g, registrosCount);         
        creditosWidget = creditosWidget.replace('numeroCreditos_value', row.numeroCreditos); 
        calificacionWidget = calificacionPrototype.replace(/\$\$name\$\$/g, registrosCount);
        temaWidget = temaPrototype.replace(/\$\$name\$\$/g, registrosCount);
        observacionWidget = observacionPrototype.replace(/\$\$name\$\$/g, registrosCount);

        // crea un nuevo elemento lista y lo añade a nuestra lista
        
        var nivelTableCell = jQuery('<td class="center"></td>').html(nivelWidget);
        var materiaTableCell = jQuery('<td></td>').html(materiaWidget);
        var horasTableCell = jQuery('<td></td>').html(horasWidget);
        var creditosTableCell = jQuery('<td></td>').html(creditosWidget);  
        var calificacionTableCell = jQuery('<td></td>').html(calificacionWidget);
        var temaTableCell = jQuery('<td></td>').html(temaWidget);
        var observacionTableCell = jQuery('<td></td>').html(observacionWidget);
      

        var newRow = jQuery($('<tr>'));
        var endRow = jQuery($('</tr>'));
       
        newRow.appendTo(registrosTableBody);
        nivelTableCell.appendTo(newRow);
        materiaTableCell.appendTo(newRow);
        horasTableCell.appendTo(newRow);
        creditosTableCell.appendTo(newRow);   
        calificacionTableCell.appendTo(newRow);
        temaTableCell.appendTo(newRow);
        observacionTableCell.appendTo(newRow);
        endRow.appendTo(registrosTableBody);
        
        
        return false;
        
    }
    
    
    
    jQuery('#unl_homologacionbundle_homologaciontype_mallaOrigen').change( function() {    
        
      
        $.ajax({
            type: "GET",
            url:"{{ path('_unidadesByMallaCurricularId') }}",
            dataType: 'json', 
            data: "data=" +$(this).val(),
            success: addRegistrosHomologacion
        })
    });
    
    function addRegistrosHomologacion(response) {
        if (response === null){
        } else {
            $('#registrosHomologacion-table-body').find("tr").remove();
            index = 0;
            $.each(response, function(index){
                crearRegistroHomologacion(response[index],index);
                index++;
            })
        }
    }
    
    
    function existUnidadOrigen(){
    }
   
    jQuery('#saveButton').click(function() {
        
        jQuery('#homologarForm').submit();
    });  
    
    
   
    $(document).ready( function() {
    var registrostable = jQuery('#registros-table');
    var idCarrera = registrostable.attr('idCarrera');
    $.ajax({
        type: "GET",
        data: "data=" + idCarrera,
        url:"{{ path('_mallasPorCarreraId') }}",
        success: function(msg){
            if (msg != ''){
                jQuery('#unl_homologacionbundle_homologaciontype_mallaOrigen').html(msg).show();

            }
            else
            {
                jQuery('#unl_homologacionbundle_homologaciontype_mallaOrigen').html('<em>No tiene carreras<em>');
            }
         }
     });
   });
   
</script>
{% endblock %}
